Such non-volatile memories are formed by memory cells generally formed by a transistor with a floating gate able to contain binary data. The binary data of such a memory cell can take a first determined value, for example 0, by trapping hot electrons in the oxide layer isolating the transistor gate from the cell (“stacked gate” technology) or in the floating gate of the transistor (“split gate” technology). This relatively quick “write” or “programming” operation only requires, depending upon the technology used, for example a few microseconds. This binary data can take a second determined value, for example 1, via Fowler-Nordheim tunnel effect, which allows the passage, without ionisation, of a trapped electron through the oxide layer isolating the transistor gate (“stacked gate” technology) or from the floating gate (“split gate” technology). This “erasure” operation is considerably longer than that previously mentioned, it can last, for the same technology, for example, several milliseconds.
Depending upon the applications in which the memory is used, the latter can be broken down into a plurality of similar memory subdivisions that can be erased independently of each other. The size of these memory subdivisions can vary from that of a memory cell to that of a memory page of several kilos octets. In the particular case of a Flash memory, it is important to note that the programming operations can be carried out byte by byte, as for an EEPROM, but conversely, the erasure operations have to be carried out block by block, which means that an entire block has to be erased for each update of a single byte of said block.
A conventional data updating method for this type of memory generally includes the following steps:                erasing a memory subdivision reserved for saving data;        saving the data from a non-reserved memory subdivision to be updated to the previously erased reserved memory subdivision;        erasing the non-reserved memory subdivision to be updated;        updating the data in the memory subdivision erased in the preceding step;        repeating the preceding steps at each new required updating.        
First of all, it will be noted that the expression “erasure of a memory subdivision” is a shortcut expression frequently used to mean “deletion of data contained in a memory subdivision”.
The use of a reserved non-volatile memory subdivision for saving data to be updated is necessary in order to guarantee that no loss of data can occur in the event of an abrupt interruption to the updating procedure due, for example, to a power cut. Moreover, the use of the same memory subdivision for containing the updated data is also necessary to ensure simple and quick access to the data by the memory management system. No data tracking, for example via a pointer, is then necessary.
The main drawback raised by the use of such a reserved memory subdivision is the increase in the execution length of the method when updates are carried out in series. Indeed, as seen in the introduction, the operations of “erasure” or setting the memory cells forming the memory subdivision to “1”, are approximately 1000 times longer than a write operation. Since the method described hereinbefore has to carry out two erasure cycles for each update, a first to reserve a memory space for saving data, which allows warning to be given of any malfunction in the system implementing the method, and a second to be able to carry out the update in the subdivision which contained the data prior to the update. Thus, the execution time of this type of method soon becomes critical particularly because it monopolises the system's resources during its implementation.